本地分支:
位於本地端的分支。
遠端分支:
位於遠端儲存庫的分支。
這是我們之前push的遠端儲存庫,上面的分支就是遠端分支。
遠端追蹤分支:
設置於本地端,讓本地分支與遠端分支產生連結的分支。
換句話說,它是本地分支與遠端分支的橋樑。
嘗試切換至遠端追蹤分支。
會收到一長串的警告訊息。
其中一段告知,你目前正處於detached HEAD的狀態,這是一個不正常的情況。
注意,遠端追蹤分支不是用來開發的,它是用來追蹤的。
請不要切換至遠端追蹤分支,一律切換至本地分支。
目前GitHub的feature分支有18個commit,我們打算在本地端增加一個commit,將它push到GitHub。
push完成,目前有19個commit。
push的過程是這樣的:
當feature分支增加一個commit,執行push後,git會尋找feature分支所對應到的遠端追蹤分支,也就是remotes/origin/feature,這個路徑的來源,等下會做說明。
找到後,將commit上傳至遠端追蹤分支所指向的遠端儲存庫分支feature。
設定檔位於.git資料夾裡面的config。
查看.git/refs/heads/資料夾。
有3個檔案,所代表的正是本地端分支。
查看.git/refs/remotes/origin/資料夾
有2個檔案,所代表的是遠端追蹤分支。
所以,本地分支與遠端追蹤分支的對應關係就是在fetch做定義的。
一般來說,本地分支與遠端追蹤分支的名稱最好相同,避免搞混。